//app.js
import wxRequest from "/utils/http.js"
App({
  onLaunch: function () {
    // 展示本地存储能力
    var logs = wx.getStorageSync('logs') || []
    logs.unshift(Date.now())
    wx.setStorageSync('logs', logs)

    // 登录
    wx.login({
      success: res => {
        wx.removeStorageSync("token");
        let openId = wx.getStorageSync('openId');
        if (openId == null || openId === '' || openId === undefined) {
          wx.showToast({
            title: '尚未授权登录',
            icon: 'none',
            duration: 3000
          });
          return;
        }
        wx.request({
          url: this.globalData.baseUrl + '/sys/wxAuthLoginOrRegister',
          method: "POST",
          data: {
            wxOpenId: wx.getStorageSync('openId')
          },
          header: {
            "Content-Type": "application/json;charset=utf-8"
          },
          success: function (res) {
            if (res.data.code === 200) {
              wx.setStorageSync('token', res.data.result);
            }
          }
        })
      }
    })
    // 获取用户信息
    wx.getSetting({
      success: res => {
        if (res.authSetting['scope.userInfo']) {
          // 已经授权，可以直接调用 getUserInfo 获取头像昵称，不会弹框
          wx.getUserInfo({
            success: res => {
              // 可以将 res 发送给后台解码出 unionId
              this.globalData.userInfo = res.userInfo

              // 由于 getUserInfo 是网络请求，可能会在 Page.onLoad 之后才返回
              // 所以此处加入 callback 以防止这种情况
              if (this.userInfoReadyCallback) {
                this.userInfoReadyCallback(res)
              }
            }
          })
        }
      }
    })
    // 获取系统状态栏信息
    wx.getSystemInfo({
      success: e => {
        this.globalData.StatusBar = e.statusBarHeight;
        let capsule = wx.getMenuButtonBoundingClientRect();
        if (capsule) {
          this.globalData.Custom = capsule;
          this.globalData.CustomBar = capsule.bottom + capsule.top - e.statusBarHeight;
        } else {
          this.globalData.CustomBar = e.statusBarHeight + 50;
        }
      }
    })
    wxRequest.defaults.baseURL = this.globalData.baseUrl;
    wxRequest.defaults.headers.common['token'] = wx.getStorageSync("token");
  },
  // 简化toast
  toast(title, icon = 'none', duration = 2000) {
    if (typeof title == 'object') {
      title = '加载失败'
    }
    wx.showToast({
      title,
      icon,
      duration
    })
  },
  globalData: {
    userInfo: null,
    // baseUrl: 'http://127.0.0.1:10000/api',
    // baseUrl: 'https://api.ltd.yoonada.cn',
    baseUrl:"http://2546-112-94-175-115.ngrok.io/api"
  }
})
